문제

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

  • 두 수가 nm이라면
    • ”>”, ”=” : n >= m
    • ”<”, ”=” : n <= m
    • ”>”, ”!” : n > m
    • ”<”, ”!” : n < m

두 문자열 ineqeq가 주어집니다. ineq는 ”<“와 ”>“중 하나고, eq는 ”=“와 ”!”중 하나입니다. 그리고 두 정수 nm이 주어질 때, nmineqeq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ n, m ≤ 100

입출력 예

ineq eq n m result
”<” ”=” 20 50 1
”>” ”!” 41 78 0

입출력 예 설명

입출력 예 #1

  • 20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2

  • 41 > 78은 거짓이기 때문에 0을 return합니다.

코드

function solution(ineq, eq, n, m) {
  if (ineq === '>') {
    if (eq === '=') {
      return n >= m ? 1 : 0;
    } else {
      return n > m ? 1 : 0;
    }
  } else if (ineq === '<') {
    if (eq === '=') {
      return n <= m ? 1 : 0;
    } else {
      return n < m ? 1 : 0;
    }
  }
}

코드 해설

  • 삼항 연산자를 이용해 조건이 true, false인지 확인하고 해당하는 값을 출력한다.

  • ineq값이 ">"

    • eq값이 "="

      • n값이 m값 보다 크거나 같으면 1를 반환한다.
      • n값이 m값 보다 크거나 같지 않으면 0를 반환한다.
    • eq값이 "=" 아닐 경우

      • n값이 m값 보다 크면 1를 반환한다.
      • n값이 m값 보다 크지 않으면 0를 반환한다.
  • ineq값이 "<"

    • eq값이 "="

      • m값이 n값 보다 크거나 같으면 1를 반환한다.
      • m값이 n값 보다 크거나 같지 않으면 0를 반환한다.
    • eq값이 "=" 아닐 경우

      • m값이 n값 보다 크면 1를 반환한다.
      • m값이 n값 보다 크지 않으면 0를 반환한다.